﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using GestionaleBolletta.logic;

namespace GestionaleBolletta
{
    public partial class list : Form
    {
        public list()
        {
            InitializeComponent();

            GenerateListBollette();
        }

        private void GenerateListBollette()
        {
            listViewBollette.Items.Clear();

            GestioneXML GestioneXml = new GestioneXML();

            foreach (var singoloFornitore in GestioneXml.Fornitori)
            {
                foreach (var singolaBolletta in singoloFornitore.ElencoBollette)
                {
                    List<string> elementi = new List<string>();
                    elementi.Add(singolaBolletta.id.ToString());
                    elementi.Add(singoloFornitore.Nome);
                    elementi.Add(singolaBolletta.descrizione);
                    elementi.Add(singolaBolletta.dataScadenza.ToShortDateString());
                    elementi.Add(singolaBolletta.dataPagamento.ToShortDateString());
                    elementi.Add(singolaBolletta.importo);

                    ListViewItem toAddList = new ListViewItem(elementi.ToArray());

                    listViewBollette.Items.Add(toAddList);
                }

            }
        }

        private void openDataFilters_CheckedChanged(object sender, EventArgs e)
        {
            grp_dataFilters.Enabled = openDataFilters.Checked;
        }

        private void openOperatorFilter_CheckedChanged(object sender, EventArgs e)
        {
            grp_opFilters.Enabled = openOperatorFilter.Checked;
        }

        private void listViewBollette_DoubleClick(object sender, EventArgs e)
        {
            int indiceSelezionato = Convert.ToInt32(((ListView)sender).SelectedItems[0].Text);
            nuovoPagamento nuovoPagamento = new nuovoPagamento(indiceSelezionato);
            nuovoPagamento.ShowDialog();
            GenerateListBollette();
        }
    }
}
